home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / os20 / util / multiuser12a.lha / MultiUser / Auto / multiuser.doc
Text File  |  1993-03-30  |  11KB  |  358 lines

  1. TABLE OF CONTENTS
  2.  
  3. multiuser.library/muAllocUserInfo
  4. multiuser.library/muFreeUserInfo
  5. multiuser.library/muGetDefProtection
  6. multiuser.library/muGetTaskOwner
  7. multiuser.library/muGetUserInfo
  8. multiuser.library/muLoginA
  9. multiuser.library/muLogoutA
  10. multiuser.library/muPasswd
  11. multiuser.library/muSetDefProtection
  12. multiuser.library/muSetLibFlush
  13. multiuser.library/muAllocUserInfo           multiuser.library/muAllocUserInfo
  14.  
  15.   NAME  muAllocUserInfo()  (V39)
  16.  
  17.     info = struct muUserInfo *muAllocUserInfo();
  18.  
  19.     struct muUserInfo *muAllocUserInfo(void);
  20.     D0
  21.  
  22.   DESCRIPTION
  23.     Allocates  a  muUserInfo structure for you in a future compatible manner.
  24.     This  is  the  only  valid  way  to allocate a muUserInfo structure.  The
  25.     structure will be made empty for you.
  26.  
  27.   INPUTS
  28.     none
  29.  
  30.   RESULT
  31.     info - pointer  to  the  allocated  muUserInfo  structure  or NULL for no
  32.            memory.
  33.  
  34.   BUGS
  35.     none known
  36.  
  37.   SEE ALSO
  38.     muFreeUserInfo(), muGetUserInfo()
  39.  
  40. multiuser.library/muFreeUserInfo             multiuser.library/muFreeUserInfo
  41.  
  42.   NAME  muFreeUserInfo()  (V39)
  43.  
  44.     muFreeUserInfo(info);
  45.  
  46.     void muFreeUserInfo(struct muUserInfo *);
  47.                         A0
  48.  
  49.   DESCRIPTION
  50.     Frees a muUserInfo structure allocated with muAllocUserInfo.
  51.  
  52.   INPUTS
  53.     info - a  pointer  to  the muUserInfo structure you want to free.  May be
  54.            NULL.
  55.  
  56.   RESULT
  57.     none
  58.  
  59.   BUGS
  60.     none known
  61.  
  62.   SEE ALSO
  63.     muAllocUserInfo(), muGetUserInfo()
  64.  
  65. multiuser.library/muGetDefProtection     multiuser.library/muGetDefProtection
  66.  
  67.   NAME  muGetDefProtection()  (V39)
  68.  
  69.     mask = muGetDefProtection(task);
  70.  
  71.     ULONG muGetDefProtection(struct Task *);
  72.     D0                       D0
  73.  
  74.   DESCRIPTION
  75.     Get the default protection bits related to a task.
  76.  
  77.   INPUTS
  78.     task - a  pointer  to  the  task  for  which you want to know the default
  79.            protection bits, or NULL for the current task.
  80.  
  81.   RESULT
  82.     mask - the  default protection bits.  They are in the format like defined
  83.            in <dos/dos.h>.
  84.  
  85.   BUGS
  86.     none known
  87.  
  88.   SEE ALSO
  89.     muSetDefProtection()
  90.  
  91. multiuser.library/muGetTaskOwner             multiuser.library/muGetTaskOwner
  92.  
  93.   NAME  muGetTaskOwner()  (V39)
  94.  
  95.     user = muGetTaskOwner(task);
  96.  
  97.     ULONG muGetTaskOwner(struct Task *);
  98.     D0                   D0
  99.  
  100.   DESCRIPTION
  101.     Get the owner of a task.
  102.  
  103.   INPUTS
  104.     task - a pointer to the task of which you want to know the owner, or NULL
  105.            for the current task.
  106.  
  107.   RESULT
  108.     user - the owner of the specified task.  The bits 31-16 specify the owner
  109.            user  id  (uid),  the  bits 15-0 specify the owner group id (gid).
  110.            NULL for nobody.
  111.  
  112.   BUGS
  113.     none known
  114.  
  115.   SEE ALSO
  116.     muGetUserInfo()
  117.  
  118. multiuser.library/muGetUserInfo               multiuser.library/muGetUserInfo
  119.  
  120.   NAME  muGetUserInfo()  (V39)
  121.  
  122.     info = muGetUserInfo(info, keytype);
  123.  
  124.     struct muUserInfo *muGetUserInfo(struct muUserInfo *, ULONG);
  125.     D0                               A0                   D0
  126.  
  127.   DESCRIPTION
  128.     Get  information  about  a user.  You must pass in a muUserInfo structure
  129.     and  a  keytype, which defines the type of information you have filled in
  130.     in the muUserInfo structure about the wanted user.  Valid keytypes are:
  131.  
  132.       muKeyType_First    - find  the  first  user.  You don't have to fill in
  133.                            any fields in the muUserInfo structure.
  134.       muKeyType_Next     - find  the  next  user.  Use this only after you've
  135.                            made a call with muKeyType_First as keytype.
  136.       muKeyType_UserID   - find  a  user with a specific UserID.  Fill in the
  137.                            field  UserID before calling muGetUserInfo().  The
  138.                            search will be case sensitive.
  139.       muKeyType_uid      - find  a  user  with  a  specific uid.  Fill in the
  140.                            field uid before calling muGetUserInfo().
  141.       muKeyType_gid      - find  a  user  with  a  specific gid.  Fill in the
  142.                            field uid before calling muGetUserInfo().
  143.       muKeyType_gidNext  - find  the next user with a specific gid.  Use this
  144.                            only  after  you've made a call with muKeyType_gid
  145.                            as keytype.
  146.       muKeyType_UserName - find a user with a specific UserName.  Fill in the
  147.                            field  UserName  before  calling  muGetUserInfo().
  148.                            The search will be case insensitive.
  149.  
  150.   INPUTS
  151.     info    - an muUserInfo structure, allocated with muAllocUserInfo.
  152.     keytype - the magic keytype.
  153.  
  154.   RESULT
  155.     info - a  pointer  to  the  supplied  muUserInfo structure, or NULL for a
  156.            failure.
  157.  
  158.   NOTE
  159.     Do  not  change  the  contents of a muUserInfo structure between calls to
  160.     muGetUserInfo()        with       muKeyType_First/muKeyType_Next       or
  161.     muKeyType_gid/muKeyType_gidNext.
  162.  
  163.   BUGS
  164.     none known
  165.  
  166.   SEE ALSO
  167.     muAllocUserInfo(), muGetUserInfo(), <libraries/multiuser.h>,
  168.     dos.library/SetOwner()
  169.  
  170. multiuser.library/muLoginA                         multiuser.library/muLoginA
  171.  
  172.   NAME  muLoginA()  (V39)
  173.  
  174.     user = muLoginA(taglist);
  175.  
  176.     ULONG muLoginA(struct TagItem *);
  177.     D0             A0
  178.  
  179.   DESCRIPTION
  180.     Login  to  the  system  and  remember  the last user.  Use the taglist to
  181.     specify options.
  182.  
  183.   TAGS
  184.     muT_Graphical  - (BOOL)
  185.                      use  a  graphical  login instead of a console alike one.
  186.                      Default is FALSE.
  187.     muT_Input      - (BPTR)
  188.                      specify  the  filehandle  to  read from.  Not used for a
  189.                      graphical login.  Default is Input().
  190.     muT_Output     - (BPTR)
  191.                      specify  the  filehandle  to  write  to.  Not used for a
  192.                      graphical login.  Default is Output().
  193.     muT_PubScrName - (char *)
  194.                      specify  the  public  screen to open the login requester
  195.                      on.   Only  used  for a graphical login.  Default is the
  196.                      default public screen (mostly the Workbench screen).
  197.     muT_Task       - (struct Task *)
  198.                      specify  the  task  you  want  to login.  Of course this
  199.                      works  only  for  your  own tasks (or for tasks owned by
  200.                      nobody),  unless you are the super user (root).  Default
  201.                      is the current task.
  202.     muT_Own        - (BOOL)
  203.                      change  the  owner of the specified task to the owner of
  204.                      the  task  this call is made from.  Of course this works
  205.                      only for tasks owned by nobody, unless you are the super
  206.                      user (root).  Default is FALSE.
  207.     muT_Global     - (BOOL)
  208.                      login  for  all  tasks  on  the  same level as this one.
  209.                      Default is FALSE.
  210.  
  211.   INPUTS
  212.     taglist - a pointer to a taglist (may be NULL).
  213.  
  214.   RESULT
  215.     user - the  user  that  logged in, or NULL for a failure.  The bits 31-16
  216.            specify  the  owner user id (uid), the bits 15-0 specify the owner
  217.            group id (gid).
  218.  
  219.   BUGS
  220.     none known
  221.  
  222.   SEE ALSO
  223.     muLogoutA()
  224.  
  225. multiuser.library/muLogoutA                       multiuser.library/muLogoutA
  226.  
  227.   NAME  muLogoutA()  (V39)
  228.  
  229.     user = muLogoutA(taglist);
  230.  
  231.     ULONG muLogoutA(struct TagItem *);
  232.     D0              A0
  233.  
  234.   DESCRIPTION
  235.     Logout  and  restore the previous user.  If there was no previous user or
  236.     the  previous user was nobody, a login request will appear.  However, the
  237.     behavior  of  this  login request will be slightly different from that of
  238.     muLoginA(), more specifically the following actions will be taken:
  239.  
  240.       - the local variable 'Home' will be set to your home directory.
  241.       - the current directory will be set to your home directory.
  242.       - If  there  exists  a  script  file  called  '.profile'  in  your home
  243.         directory, it will be executed.
  244.  
  245.   TAGS
  246.     muT_Input      - see muLoginA()
  247.     muT_Output     - see muLoginA()
  248.     muT_Graphical  - see muLoginA()
  249.     muT_PubScrName - see muLoginA()
  250.     muT_Task       - see muLoginA()
  251.     muT_Own        - see muLoginA()
  252.     muT_Global     - see muLoginA()
  253.     muT_Quiet      - (BOOL)
  254.                      Never request for a login, simply logout. Default FALSE.
  255.  
  256.   INPUTS
  257.     taglist - a pointer to a taglist (may be NULL).
  258.  
  259.   RESULT
  260.     user - the  user you're now, NULL for nobody.  The bits 31-16 specify the
  261.            owner  user  id  (uid),  the  bits 15-0 specify the owner group id
  262.            (gid).
  263.  
  264.   NOTE
  265.     If  there  was  no  previous user, this routine will not return until you
  266.     enter  a  valid UserID/password pair (unless you used the tag muT_Quiet)!
  267.     However,  this  tag  may  be  removed  in  future  releases  for enhanced
  268.     security.
  269.  
  270.   BUGS
  271.     none known
  272.  
  273.   SEE ALSO
  274.     muLoginA()
  275.  
  276. multiuser.library/muPasswd                         multiuser.library/muPasswd
  277.  
  278.   NAME  muPasswd()  (V39)
  279.  
  280.     succes = muPasswd(oldpwd, newpwd);
  281.  
  282.     BOOL muPasswd(char *, char *);
  283.     D0            A0      A1
  284.  
  285.   DESCRIPTION
  286.     Change  the  password  for  the  owner of the task this routine is called
  287.     from.
  288.  
  289.   INPUTS
  290.     oldpwd - your old password.
  291.     newpwd - your new password.
  292.  
  293.   RESULT
  294.     succes - indicates a succesfull password change.
  295.  
  296.   NOTE
  297.     For  the  format  of  the passwd-file, see <libraries/multiuser.h>.  This
  298.     format should be compatible with the Commodore AS255 passwd file.
  299.  
  300.   BUGS
  301.     none known
  302.  
  303.   SEE ALSO
  304.  
  305. multiuser.library/muSetDefProtection     multiuser.library/muSetDefProtection
  306.  
  307.   NAME  muSetDefProtection()  (V39)
  308.  
  309.     succes = muSetDefProtection(task, mask);
  310.  
  311.     BOOL muSetDefProtection(struct Task *, ULONG);
  312.     D0                      D0             D1
  313.  
  314.   DESCRIPTION
  315.     Set the default protection bits related to a task.
  316.  
  317.   INPUTS
  318.     task - a  pointer  to  the  task  for  which  you want to set the default
  319.            protection bits, or NULL for the current task.
  320.     mask - the  default  protection  bits.   They  must be in the format like
  321.            defined in <dos/dos.h>.
  322.  
  323.   RESULT
  324.     succes - succes indicator.
  325.  
  326.   BUGS
  327.     none known
  328.  
  329.   SEE ALSO
  330.     muGetDefProtection()
  331.  
  332. multiuser.library/muSetLibFlush               multiuser.library/muSetLibFlush
  333.  
  334.   NAME  muSetLibFlush()  (V39)
  335.  
  336.     succes = muSetLibFlush(allowed);
  337.  
  338.     BOOL muSetLibFlush(BOOL);
  339.     D0                 D0
  340.  
  341.   DESCRIPTION
  342.     Specify  whether  the  multiuser.library  may  be  flushed  or not.  This
  343.     behavior  can  be  changed  only  by  the  super user (root), because all
  344.     task-owner relationships will be lost after a library flush.  Default the
  345.     library may not be flushed.
  346.  
  347.   INPUTS
  348.     allowed - TRUE if the library may be flushed.
  349.  
  350.   RESULT
  351.     succes - succes indicator.
  352.  
  353.   BUGS
  354.     none known
  355.  
  356.   SEE ALSO
  357.  
  358.